<?php

class Dirsac 
{
	public static function correo($accion, $file, $destino)
	{
		if($accion=='enviar') {
			$subject = '[Dirsac] Orden de compra internacional Enviada';
			$body = 'Estimado(a): Su Orden de compra ha sido enviada a Compras Internacionales y ha quedado Pendiente.';
		}
	
		if($accion=='aprobar_internacional') {
			$subject = '[Dirsac] Orden de compra internacional Aprobada por CI ';
			$body = 'Estimado(a): Su Orden de compra ha sido Aprobada por Compras Internacionales, ha sido enviada a Finanzas.';
		}
      
		if($accion=='aprobar_finanzas') {
			$subject = '[Dirsac] Orden de compra internacional Aprobada por Finanzas';
			$body = 'Estimado(a): Su Orden de compra ha sido Aprobada por Finanzas.';
		}
		
		if($accion=='rechazar_internacional') {
			$subject = '[Dirsac] Orden de compra internacional Rechazada';
			$body = 'Estimado(a): Su Orden de compra ha sido Rechazada por Compras Internacionales.';
		}
		
		if($accion=='rechazar_finanzas') {
			$subject = '[Dirsac] Orden de compra  Rechazada';
			$body = 'Estimado(a): Su Orden de compra ha sido Rechazada por Compras Finanzas.';
		}
		
   		if($accion=='fallar') {
			$subject = '[Dirsac] Orden de compra internacional Fallada';
			$body = 'Estimado(a): Su Orden de compra ha Fallado por Compras Internacionales.';
		}
		
		if($accion=='recepcionar') {
			$subject = '[Dirsac] Orden de compra internacional Recepcionada';
			$body = 'Estimado(a): Su Orden de compra ha sido Recepcionada por Compras Internacionales.';
		}
		
		if($accion=='entregar') {
			$subject = '[Dirsac] Orden de compra internacional Entregada';
			$body = 'Estimado(a): Su Orden de compra ha sido Entregada por Compras Internacionales.';
		}
		
		foreach ($destino as $correo) {
			
	    	//Creamos el transport, nativamente Swift trae tres: Mail, SendMail y SMTP
			$transport = Swift_SmtpTransport::newInstance('ssl://smtp.googlemail.com', 465)
				->setUsername('dirsac.compras@gmail.com')
				->setPassword('emilio99');
	 
	    	//Creamos el email utilizando el transport anterior
			$mailer = Swift_Mailer::newInstance($transport);
	 
	    	//Creamos el mensaje
			$message = Swift_Message::newInstance($subject)
				->setFrom(array('dirsac.compras@gmail.com' => 'DIRSAC'))
				->setTo(array($correo => 'Estimado(a)'))
				->setBody($body)
				->attach(Swift_Attachment::fromPath($file));
	 
	    	//Enviamos el mensaje
			$result = $mailer->send($message);
		}
		
		return true;
	}

	public static function generarPdf($id)
  	{
  		$config = sfTCPDFPluginConfigHandler::loadConfig();
 
  		$compra_internacional = Doctrine::getTable('CompraInternacional')->findOneById($id);

  		// pdf object
  		$pdf = new sfTCPDF();

  		// settings
  		$pdf->SetFont("FreeSerif", "", 12);
  		$pdf->SetMargins(PDF_MARGIN_LEFT, PDF_MARGIN_TOP, PDF_MARGIN_RIGHT);
  		$pdf->setHeaderFont(array(PDF_FONT_NAME_MAIN, '', PDF_FONT_SIZE_MAIN));
  		$pdf->SetHeaderData(PDF_HEADER_LOGO, PDF_HEADER_LOGO_WIDTH, PDF_HEADER_TITLE, PDF_HEADER_STRING);
  		$pdf->setFooterFont(array(PDF_FONT_NAME_DATA, '', PDF_FONT_SIZE_DATA));
  		$pdf->SetHeaderMargin(PDF_MARGIN_HEADER);
  		$pdf->SetFooterMargin(PDF_MARGIN_FOOTER);

  		// init pdf doc
  		$pdf->AliasNbPages();
  		$pdf->AddPage();
  
  		$html = "
		  		<h1>Compras Internacionales</h1>

		<h3>Compra Número: ".$compra_internacional->getId()."</h3>

		<table>

	    <tr>
			<th>Cuenta</th>
			<th>Nombre Encargado</th>
			<th>Correo Encargado</th>
			<th>Anexo Encargado</th>
		</tr>
    
		<tr>
			<td>".$compra_internacional->getCuenta($compra_internacional->getCuentaId())."</td>
			<td>".$compra_internacional->getNombreEncargado()."</td>
			<td>".$compra_internacional->getCorreoEncargado()."</td>
			<td>".$compra_internacional->getAnexoEncargado()."</td>
		</tr>
    
		<tr>
			<th>Proveedor</th>
			<th>Nombre Contacto</th>
			<th>Correo Contacto</th>
			<th>Teléfono Contacto</th>
		</tr>
    
		<tr>
			<td>".  $compra_internacional->getProveedor($compra_internacional->getProveedorId()) ."</td>
			<td>".  $compra_internacional->getNombreContacto() ."</td>
			<td>".  $compra_internacional->getCorreoContacto() ."</td>
			<td>".  $compra_internacional->getTelefonoContacto() ."</td>
		</tr>
    
    <tr>
      <th>Moneda</th>
      <th>Factura</th>
      <th>Packing</th>
      <th>CargoNet</th>
    </tr>

    <tr>
      <td>".  $compra_internacional->getMoneda() ."</td>
      <td>".$compra_internacional->getCotizacion() ."</td>
      <td>".$compra_internacional->getOtros()."</td>
      <td>".  $compra_internacional->getAgenciaDeAduanas() ."</td>
    </tr>

    <tr>
      <th>Forma de Pago</th>
      <th>Plazo Entrega</th>
      <th></th>
      <th></th>
    </tr>

    <tr>
      <td>".  $compra_internacional->getFormaPago() ."</td>
      <td>".  $compra_internacional->getPlazoEntrega() ."</td>
      <td></td>
      <td></td>
    </tr> 
    
    <tr>
    	<th>Observación</th>
    </tr>
    
    <tr>
    	<td>".$compra_internacional->getObservacion()."</td>
    </tr>
</table>

<h3>Art&iacute;culos</h3>
<table width='100%' style='text-align: center;'>
    <tr>
      <th>Articulo</th>
      <th>Cantidad</th>
      <th>Costo Unitario</th>
      <th>Subtotal</th>
    </tr>
  ";
  		
  		foreach($compra_internacional->getItemCompraInternacional() as $item):
  			$html = $html."<tr>
      			<td>".  $item->getArticulo()."</td>
      			<td>".  $item->getCantidad() ."</td>
      			<td>".  $item->getCostoNetoUnitario() ."</td>
      			<td>".  $item->getSubtotal() ."</td>
    		</tr>";
  		endforeach;

  		$html = $html."
  <tr>
    <th></th>
	<th></th>
    <th>Total</th>
    <td>".  $compra_internacional->getTotal() ."</td>
  </tr>
</table>
  		
  		";
  		
  		//$pdf->writeHTML($htmlcontent, true, 0, true, 0);
  		$pdf->writeHTML($html, true, false, true, false, '');

  		// output
  		$pdf->Output(sfConfig::get('sf_upload_dir').DIRECTORY_SEPARATOR.'orden_compra_'.$compra_internacional->getEstado().'_'.$id.'.pdf', 'F');
  		$route = sfConfig::get('sf_upload_dir').DIRECTORY_SEPARATOR.'orden_compra_'.$compra_internacional->getEstado().'_'.$id.'.pdf';
  		return $route;
	}   
	
	public static function getModulo($modulo) {
		if ($modulo == 'CompraInternacional') $url = '/inter/compras';
		if ($modulo == 'CompraNacional') $url = '/nacional/compras';
		if ($modulo == 'Carga') $url = '/admin/cuentas';
		return $url;
	}

}